In recent years, a P2P VoD technology has become an effective and efficient approach to distribute high-quality videos to large number of peers. As compared with a P2P living system, peers in a P2P VoD system are less likely to have same contents shared with each other. In order to compensate a lack of synchrony and offload a server in the P2P VoD system, the following two remedial features are usually used: (a) each peer is capable of uploading content different than what is currently consumed or downloaded locally; (b) peers contribute additional storage to replicate content for uploading when it is not being viewed locally. The effectiveness of these remedies depends on whether an appropriate mix of contents is placed at different peers, which is a P2P replication problem.
The P2P replication problem has been studied before, for different service models such as P2P search, file sharing, downloading and streaming VoD. For current P2P VoD systems, there are basically two solutions. The first approach formulates the problem as a combinatorial optimization problem to minimize the server load. This approach unavoidably involves large-scale information collection, and dealing with an NP-hard computational problem. Even after simplification and approximation, the solution still takes a non-trivial amount of resources, and can only be afforded once in awhile. At this scale, the parameters collected cannot be very accurate. The second approach is lazy adaptive. It replies on simple adaptive algorithms such as FIFO (First-in-First-out), LRU (Least-Recently-Used) or LFU (Least-Frequently-Used). This approach does not work well enough to offload the server for some peer access patterns.
In the P2P VoD system, an objective is to minimize a server bandwidth and satisfy users' streaming requirement at the same time. The streaming requirement means that, for a particular video, there needs to be a balance between a total supply of uplink bandwidth (i.e., a sum of server(s)' uplink bandwidth and peers' uplink bandwidth) and a total demand (i.e., the number of viewing peers multiplied by a video playback rate). In practice, the operating regime of particular interest is when the total peer uplink bandwidth is comparable to the total demand of viewing bandwidth. In this regime, ideally, the server bandwidth used is negligibly small, if the viewing demand is deterministic and known a priori, and all the peers replicate sufficient and an appropriate mix of content so as to make full use of their upload capacities. In reality, the unpredictability of user demand, and hence the imperfection in content replication and service load balancing will always result in some server load.